package com.wicket.okrcomponent.biz.service.dto.common;
import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;
    
    
    /**
     * @desc DocumentDto
     * @使用场景
     */
    @Data
    public class DocumentDto extends BaseDto  implements Serializable {
      
    /**
     * 文档ID 
     */
    @ApiModelProperty("文档ID")
    private String	 unstructuredDataId;

    /**
     * 文档类型 FILE:文档 MEDIA_CONTENT:媒体内容 OTHER:其它
     */
    @ApiModelProperty("文档类型")
    private String	 unstructuredDataType;

    /**
     * 文档明细类型 WORD:WORD文档 EXCEL:EXCEL文档 PDF:PDF文档
     */
    @ApiModelProperty("文档明细类型")
    private String	 unstructuredDataDetailType;

    /**
     * 是否支持预览 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否支持预览")
    private String	 isSupportPreview;

    /**
     * 是否个人网盘文件 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否个人网盘文件")
    private String	 isUserUpload;

    /**
     * 文件夹ID 
     */
    @ApiModelProperty("文件夹ID")
    private String	 unstructuredDataFolderId;

    /**
     * 文件相对路径地址 
     */
    @ApiModelProperty("文件相对路径地址")
    private String	 fileRelativePathAccess;

        /**
         * 文件全路径地址
         */
        @ApiModelProperty("文件全路径地址")
        private String	 fileRelativeAllPathAccess;

    /**
     * 文档后缀 
     */
    @ApiModelProperty("文档后缀")
    private String	 postfix;

    /**
     * 文件大小 
     */
    @ApiModelProperty("文件大小")
    private String	 fileSize;

    /**
     * 文档编号 
     */
    @ApiModelProperty("文档编号")
    private String	 unstructuredDataNumber;

    /**
     * 文档名称 
     */
    @ApiModelProperty("文档名称")
    private String	 unstructuredDataName;

    /**
     * 文档简介 
     */
    @ApiModelProperty("文档简介")
    private String	 unstructuredDataDesc;
/**
     * 操作人就职记录ID 
     */
    @ApiModelProperty("操作人就职记录ID")
    private String	 operationInductionId;

    /**
     * 操作时间 
     */
    @ApiModelProperty("操作时间")
    private Date	 operateTime;
/**
     * 排序 
     */
    @ApiModelProperty("排序")
    private Long	 orderNumber;
/**
     * 是否是网盘引用关系 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否是网盘引用关系")
    private String	 isNetworkReference;

    /**
     * 来源文档关系ID 
     */
    @ApiModelProperty("来源文档关系ID")
    private String	 sourceRelationshipId;
/**
     * 关系类型编码 
     */
    @NotNull(message = "关系类型编码不能为空")
@ApiModelProperty("关系类型编码")
    private String	 relationshipType;
/**
     * 创建时间 
     */
    @ApiModelProperty("创建时间")
    private Date	 createTime;
/**
     * 创建人就职记录ID 
     */
    @ApiModelProperty("创建人就职记录ID")
    private String	 createInductionId;
/**
     * 文档关系ID
     */
    @ApiModelProperty("文档关系ID")
    private String	 unstructuredDataRelationshipId;

    /**
     * 归属内容表主键ID
     */
    @ApiModelProperty("归属内容表主键ID")
    private String	 ownEntityId;

    /**
     * 归属父内容表主键ID
     */
    @ApiModelProperty("归属父内容表主键ID")
    private String	 ownParentContentId;

    /**
     * 主题内容ID
     */
    @ApiModelProperty("主题内容ID")
    private String	 themeContentId;

    /**
     * 冗余版权归属对象类型 ORGANIZATION:组织 DEPARTMENT:部门 PERSONAL:个人
     */
    @ApiModelProperty("冗余版权归属对象类型")
    private String	 copyrightObjectTypeCode;

    /**
     * 冗余版权归属对象ID
     */
    @ApiModelProperty("冗余版权归属对象ID")
    private String	 copyrightObjectId;
/**
     * 文档名称别名
     */
    @ApiModelProperty("文档名称别名")
    private String	 unstructuredDataAliasName;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      DocumentDto that = (DocumentDto) o;
      return  unstructuredDataId == that.unstructuredDataId&&unstructuredDataType == that.unstructuredDataType&&unstructuredDataDetailType == that.unstructuredDataDetailType&&isSupportPreview == that.isSupportPreview&&isUserUpload == that.isUserUpload&&unstructuredDataFolderId == that.unstructuredDataFolderId&&fileRelativePathAccess == that.fileRelativePathAccess&&fileRelativeAllPathAccess == that.fileRelativeAllPathAccess&&postfix == that.postfix&&fileSize == that.fileSize&&unstructuredDataNumber == that.unstructuredDataNumber&&unstructuredDataName == that.unstructuredDataName&&unstructuredDataDesc == that.unstructuredDataDesc&&operationInductionId == that.operationInductionId&&operateTime == that.operateTime&&orderNumber == that.orderNumber&&isNetworkReference == that.isNetworkReference&&sourceRelationshipId == that.sourceRelationshipId&&relationshipType == that.relationshipType&&createTime == that.createTime&&createInductionId == that.createInductionId&&unstructuredDataRelationshipId == that.unstructuredDataRelationshipId&&ownEntityId == that.ownEntityId&&ownParentContentId == that.ownParentContentId&&themeContentId == that.themeContentId&&copyrightObjectTypeCode == that.copyrightObjectTypeCode&&copyrightObjectId == that.copyrightObjectId&&unstructuredDataAliasName == that.unstructuredDataAliasName;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), unstructuredDataId,unstructuredDataType,unstructuredDataDetailType,isSupportPreview,isUserUpload,unstructuredDataFolderId,fileRelativePathAccess,fileRelativeAllPathAccess,postfix,fileSize,unstructuredDataNumber,unstructuredDataName,unstructuredDataDesc,operationInductionId,operateTime,orderNumber,isNetworkReference,sourceRelationshipId,relationshipType,createTime,createInductionId,unstructuredDataRelationshipId,ownEntityId,ownParentContentId,themeContentId,copyrightObjectTypeCode,copyrightObjectId,unstructuredDataAliasName);
    }
    
      

    }
   